承上篇 , 出處 ( 也有簡體版 ) (https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Website_security)
跨站 req 偽造 。 利用其他 user 未許可的憑證來執行動作 。
舉例 : John 是個歹毒心腸的 user , 他很懂一些已登入網站的 user 在轉帳時是使用 POST
,
而這個 req 裡面包著帳戶戶名還有餘額 , John 建造一個藏有他銀行的詳細資訊及餘額的表格 ,
然後把他發送給網站的其他 user ( 信件帶有喬裝過的 submit button , 上面字樣是 get rich quick 我想知道如何一夜致富 )
如果懞呆 user 點了送出鈕 , 天~崩~地裂POST
req 會傳給 server ,
裡面帶有交易詳細資料跟 browser 綁定過的 cs cookies ( 就像上次交易自動存入信用卡資料 , 這類常見的行為 ) ,
Server 檢查過 cookies , 判定是不是該 user 並允許進行交易 。
這個結局就是 , 誰想知道如何一夜致富 , 誰就幫 John 一夜致富
Note : John 不需要存取其他 user 的 cookie , 而是交給 browser 去自動處理 , 真聰明。
其中一種防禦是 server 審核 POST
req 有沒有填入網站產生的辨識碼 ( 那些我們常見的「我不是機器人 、 請填入右圖中的英文或數字」 ) ,
這些由 server 提供的辨識碼在 user 傳送表單的時候會出現 。
這個方式可以規避 John 做的表單 , 因為他不知道 server 會給出什麼辨識碼 ,
甚至如果他找出辨識碼 , 進而把自製表單發給指定那一位 user , 他也不行再用同份表單去攻擊其他 users
框架也通常有 CSRF 的防禦機制
其他常見的攻擊或漏洞如下:
更全面的攻擊行為可以參考
Category: Web security exploits ( 維基百科 )
Category: Attack ( web app 安全計畫 )
下一篇會把網站安全這整頁做總結 , 就要進入 Express 框架的世界了 , 終於!!
補充新聞閱讀 : 企業弱密碼今年狂被駭!HITCON資安漏洞申報平台連台電、群暉都拜託「抓漏」 數位時代